Data migration refers to the process of transferring data between storage types, formats, or computer systems. It is a key consideration for any system implementation, upgrade, or consolidation. In a typical example, data is stored in tables of a database. Over time, for various reasons, such as changes to the database schema, it may be necessary to migrate the data from one or more tables of a first database to one or more tables of a second database. For example, the migration may also include converting data from one schema to another schema. For large-scale applications, the migration may take several hours to days. Due to commercial, practical, or other reasons, it may be unrealistic to bring the database system offline during the migration.